CREATE OR REPLACE PROCEDURE INSERTARLOCALUSUARIO 
(
  CALLE IN VARCHAR2  
, SECTOR IN VARCHAR2  
, REFERENCIA IN VARCHAR2  
, NOMBRE IN VARCHAR2  
, LUGAR IN NUMBER  
, USRNAME IN VARCHAR2  
) AS 

usrid number;
BEGIN

SELECT USR_ID INTO usrid FROM USUARIO WHERE USR_LOGIN = USRNAME;

INSERT INTO LOCAL_USR (LOC_ID,LOC_NOMBRE,LOC_DIRECCION,FKLUG_ID,FKUSR_ID) VALUES
(SEC_LOCAL_USR.NEXTVAL, NOMBRE, DIRECCION(CALLE,SECTOR,REFERENCIA),LUGAR,usrid);
  NULL;
END INSERTARLOCALUSUARIO;

/* Procedimeinto de agregar Medida */

CREATE OR REPLACE PROCEDURE RELACIONARMEDIDA (USR IN VARCHAR2, ID_SERVICIO IN NUMBER) AS

IDUSER NUMBER;
IDMEDIDA NUMBER;

BEGIN

	SELECT USR_ID INTO IDUSER FROM USUARIO WHERE USR_LOGIN = USR;
	SELECT MAX(MED_ID) INTO IDMEDIDA FROM MEDIDA WHERE FKUSR_ID = IDUSER;

	IF (ID_SERVICIO =< 20) THEN
		INSERT INTO MEDIDA_SERVICIO_SYS VALUES (NULL,ID_SERVICIO,IDMEDIDA);
	ELSE 
		INSERT INTO MEDIDA_SERVICIO_USR VALUES (NULL,IDMEDIDA,ID_SERVICIO);
	END IF;
END;

PAG_ID NUMBER NOT NULL ENABLE, 
	PAG_MONTO NUMBER(10,2) NOT NULL ENABLE, 
	PAG_FECHA DATE NOT NULL ENABLE, 
	FKSSYS_ID NUMBER, 
	FKSUSR_ID NUMBER, 
	FKUSR_ID NUMBER NOT NULL ENABLE,
	NUM_FACTURA NUMBER NOT NULL ENABLE)
	
/* Procedimiento de Insertar Pago de servicios */
CREATE OR REPLACE PROCEDURE INSERTARPAGODESERVICIOS (USR IN VARCHAR2, FECHA IN VARCHAR2, NUMEROFACTURA IN NUMBER, MONTO IN NUMBER, SERVICIO IN NUMBER) AS

IDUSER NUMBER;


BEGIN

	SELECT USR_ID INTO IDUSER FROM USUARIO WHERE USR_LOGIN = USR;

	IF (SERVICIO =< 20) THEN
		INSERT INTO PAGO VALUES (PAGSERSYS.NEXTVAL,MONTO,TO_DATE(FECHA,'DD/MM/YYYY'),SERVICIO,NULL,IDUSER,NUMEROFACTURA);
	ELSE 
		INSERT INTO PAGO VALUES (PAGSERSYS.NEXTVAL,MONTO,TO_DATE(FECHA,'DD/MM/YYYY'),NULL,SERVICIO,IDUSER,NUMEROFACTURA);
	END IF;
END;


